import 'package:get/get.dart';
import 'package:flutter_hsh/utils/toast_utils.dart';
import '../Home/health_score_logic.dart';

/// 手机加速逻辑控制器
/// 负责驱动动画进度与完成状态
class PhoneBoostLogic extends GetxController {
  // 是否正在加速
  final RxBool isBoosting = false.obs;
  // 是否显示成功页
  final RxBool showSuccess = false.obs;
  // 加速进度（0-1），用于驱动动画
  final RxDouble progress = 0.0.obs;
  // 加速状态文案
  final RxString statusText = '正在加速中'.obs;

  /// 开始执行加速流程
  Future<void> startBoost() async {
    isBoosting.value = true;
    showSuccess.value = false;
    progress.value = 0.0;
    statusText.value = '正在加速中';

    // 模拟加速过程：以 8 步完成，每步 300ms，总时长约 2.4s
    const steps = 8;
    for (int i = 0; i < steps; i++) {
      await Future.delayed(const Duration(milliseconds: 300));
      progress.value = (i + 1) / steps; // 更新动画进度
    }

    // 进入成功页
    isBoosting.value = false;
    showSuccess.value = true;
    statusText.value = '加速完成';
    MyToast.show('手机加速完成');

    // 加速完成后：联动隐藏首页“手机加速”红点
    try {
      final logic = Get.find<HealthScoreLogic>();
      logic.markBoostCompleted();
    } catch (_) {
      // 未找到首页逻辑则忽略
    }

    // 2 秒后自动返回上一页（可根据需求改为返回到指定页面）
    // Future.delayed(const Duration(seconds: 2), () {
    //   if (Get.isOverlaysOpen) return; // 避免弹窗干扰
      // 自动关闭成功页
      // showSuccess.value = false;
      // 返回上一个页面
      // if (Get.key.currentState?.canPop() ?? false) {
      //   Get.back();
      // }
    // });
  }
}